let counit = (Prod(Reader(f), s)) => f(s);
